public class Buffer {
	private int cima, capacidad, vector[];
	
	public Buffer(int i) {
		cima = 0;
		capacidad = i;
		vector = new int[i];
	}
	synchronized public int extraer(int _nombreHiloC){
		while (cima == 0){
			try{
				wait();
			}
			catch(InterruptedException e){
				;
			}
		}
		
		--cima;
		System.out.println("el consumidor "+_nombreHiloC+ " ha sacado el elemento "+ vector[cima]);
		notifyAll();
		return vector[cima];
		
	}
	synchronized public void insertar (int elem, int _nombreHiloP){	
		while (cima == capacidad-1){
			try{
				wait();
			}
			catch(InterruptedException e){
				;
			}
		}
		vector[cima]=elem;
		System.out.println("el productor "+_nombreHiloP+" ha puesto el elemento "+ vector[cima]);
		cima++;
		notifyAll();
	}
}
